<?php

namespace FileSystem\drivers;

/**
 * Class Adapter
 * @author hwz
 */
abstract class Adapter {

    protected $root;

    protected $params;

    /**
     * __construct
     * @return void
     * @author hwz
     **/
    public function __construct(Array $params){ 
        $this->root = $params['root'];
    } 

    /**
     * write
     * @return void
     * @author hwz
     **/
    public function write($stream,$path) {
        
    }

    /**
     * delete
     * @return bool
     * @author hwz
     **/
    public function delete($path) {
        
    }

    /**
     * exists
     * @return void
     * @author hwz
     **/
    public function exists($path) {
        
    }

    /**
     * files
     * @return void
     * @author hwz
     **/
    public function files() {
        
    }

    /**
     * pagination
     * @return void
     * @author hwz
     **/
    public function pagination() {
        
    }

    /**
     * mkdir
     * @return void
     * @author hwz
     **/
    public function mkdir($path) {
        
    }

    /**
     * rmdir
     * @return void
     * @author hwz
     **/
    public function rmdir($path) {

    }

    /**
     *isdir 
     * @return void
     * @author hwz
     **/
    public function isdir() {
        
    }

    /**
     * chmod
     * @return void
     * @author hwz
     **/
    public function chmod($path,$pattern) {
        
    }

    /**
     * 
     * @return void
     * @author hwz
     **/
    public function copy($src,$target) {
        
    }

    /**
     * cut
     * @return void
     * @author hwz
     **/
    public function cut($src,$target) {
        
    }

    /**
     * crossCopy
     * @return void
     * @author hwz
     **/
    public function crossCopy($src,$target,Adapter $driver) {
        
    }

    /**
     * crossCut
     * @return void
     * @author hwz
     **/
    public function crossCut($src,$target,Adapter $driver) {
        
    }

    /**
     * cd
     * @return void
     * @author hwz
     **/
    public function cd($path) {
        $this->root = $path;
    }

    /**
     * 
     *
     * @return void
     * @author hwz
     **/
    public function touch($file) {
    }

    /**
     * getRoot
     * @return void
     * @author hwz
     **/
    public function getRoot() {
        return $this->root;
    }
}                   
